home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / GRAPHICS / OBJ3D01.ZIP / ATTRLAB.FR_ / ATTRLAB.FR (.txt)
Encoding:
Visual Basic Form  |  1995-07-05  |  16.4 KB  |  570 lines

  1. VERSION 2.00
  2. Begin Form AttrLab 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Attributes Lab"
  5.    ClientHeight    =   5460
  6.    ClientLeft      =   15
  7.    ClientTop       =   420
  8.    ClientWidth     =   9555
  9.    Height          =   5895
  10.    Left            =   -60
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   5460
  13.    ScaleWidth      =   9555
  14.    Top             =   60
  15.    Width           =   9705
  16.    Begin CommonDialog ImaDialogue 
  17.       Left            =   8280
  18.       Top             =   3480
  19.    End
  20.    Begin VIEW3D VIEW3D_ATT 
  21.       AngleX          =   0
  22.       AngleY          =   0
  23.       AngleZ          =   0
  24.       AutoRedraw      =   -1  'True
  25.       BackGnd         =   0
  26.       BackName        =   ""
  27.       BackStyle       =   0  ' 0-None
  28.       FlgBox          =   0   'False
  29.       FlgEditable     =   -1  'True
  30.       FlgOutline      =   0   'False
  31.       FlgShadow       =   0   'False
  32.       FlgWire         =   0   'False
  33.       Height          =   4695
  34.       Left            =   360
  35.       ObjName         =   ""
  36.       PosX            =   0
  37.       PosY            =   0
  38.       PosZ            =   0
  39.       Redraw          =   0
  40.       Top             =   120
  41.       Width           =   5655
  42.    End
  43.    Begin CommandButton CmdCol 
  44.       Caption         =   "PrevCol"
  45.       Height          =   255
  46.       Index           =   1
  47.       Left            =   7320
  48.       TabIndex        =   30
  49.       Top             =   3360
  50.       Width           =   855
  51.    End
  52.    Begin CommandButton CmdCol 
  53.       Caption         =   "NextCol"
  54.       Height          =   255
  55.       Index           =   0
  56.       Left            =   8400
  57.       TabIndex        =   29
  58.       Top             =   3360
  59.       Width           =   855
  60.    End
  61.    Begin SSFrame Frame3D5 
  62.       Caption         =   "Change model for ALL faces"
  63.       Font3D          =   0  'None
  64.       ForeColor       =   &H00000000&
  65.       Height          =   615
  66.       Left            =   6120
  67.       TabIndex        =   25
  68.       Top             =   3600
  69.       Width           =   3255
  70.       Begin CommandButton Cmd_Attr 
  71.          Caption         =   "Normal"
  72.          Height          =   255
  73.          Index           =   0
  74.          Left            =   120
  75.          TabIndex        =   28
  76.          Top             =   240
  77.          Width           =   855
  78.       End
  79.       Begin CommandButton Cmd_Attr 
  80.          Caption         =   "Shaded"
  81.          Height          =   255
  82.          Index           =   1
  83.          Left            =   1200
  84.          TabIndex        =   27
  85.          Top             =   240
  86.          Width           =   855
  87.       End
  88.       Begin CommandButton Cmd_Attr 
  89.          Caption         =   "Gouraud"
  90.          Height          =   255
  91.          Index           =   2
  92.          Left            =   2280
  93.          TabIndex        =   26
  94.          Top             =   240
  95.          Width           =   855
  96.       End
  97.    End
  98.    Begin CommandButton CmdOk 
  99.       Caption         =   "Ok"
  100.       Height          =   375
  101.       Left            =   7680
  102.       TabIndex        =   21
  103.       Top             =   5040
  104.       Width           =   1695
  105.    End
  106.    Begin SSFrame Frame3D4 
  107.       Caption         =   "Actions"
  108.       Font3D          =   0  'None
  109.       ForeColor       =   &H00000000&
  110.       Height          =   735
  111.       Left            =   6120
  112.       TabIndex        =   17
  113.       Top             =   4200
  114.       Width           =   3255
  115.       Begin ComboBox CombTypeBackg 
  116.          Height          =   315
  117.          Left            =   2280
  118.          Style           =   2  'Dropdown List
  119.          TabIndex        =   32
  120.          Top             =   360
  121.          Width           =   975
  122.       End
  123.       Begin CommandButton Browse 
  124.          Caption         =   "Browse"
  125.          Height          =   255
  126.          Left            =   1200
  127.          TabIndex        =   20
  128.          Top             =   240
  129.          Width           =   855
  130.       End
  131.       Begin CommandButton Load 
  132.          Caption         =   "Load..."
  133.          Height          =   255
  134.          Left            =   120
  135.          TabIndex        =   19
  136.          Top             =   240
  137.          Width           =   855
  138.       End
  139.       Begin CommandButton CmdDebug 
  140.          Caption         =   "Backg..."
  141.          Height          =   255
  142.          Left            =   2280
  143.          TabIndex        =   18
  144.          Top             =   120
  145.          Width           =   855
  146.       End
  147.    End
  148.    Begin SSFrame Frame3D1 
  149.       Caption         =   "Options"
  150.       Font3D          =   0  'None
  151.       ForeColor       =   &H00000000&
  152.       Height          =   1095
  153.       Left            =   6120
  154.       TabIndex        =   12
  155.       Top             =   2160
  156.       Width           =   3255
  157.       Begin SSCheck Check3D1 
  158.          Caption         =   "Flag Outline"
  159.          Font3D          =   0  'None
  160.          Height          =   255
  161.          Index           =   2
  162.          Left            =   120
  163.          TabIndex        =   16
  164.          Top             =   720
  165.          Value           =   -1  'True
  166.          Width           =   1455
  167.       End
  168.       Begin SSCheck Check3D1 
  169.          Caption         =   "Flag Oriented"
  170.          Font3D          =   0  'None
  171.          Height          =   255
  172.          Index           =   1
  173.          Left            =   120
  174.          TabIndex        =   15
  175.          Top             =   480
  176.          Width           =   1455
  177.       End
  178.       Begin SSFrame Frame3D3 
  179.          Caption         =   "Mutual options"
  180.          Font3D          =   0  'None
  181.          ForeColor       =   &H00000000&
  182.          Height          =   855
  183.          Left            =   1680
  184.          TabIndex        =   14
  185.          Top             =   120
  186.          Width           =   1455
  187.          Begin SSCheck Check3D1 
  188.             Caption         =   "Flag Box"
  189.             Font3D          =   0  'None
  190.             Height          =   255
  191.             Index           =   4
  192.             Left            =   120
  193.             TabIndex        =   23
  194.             Top             =   480
  195.             Width           =   1215
  196.          End
  197.          Begin SSCheck Check3D1 
  198.             Caption         =   "Flag Wire"
  199.             Font3D          =   0  'None
  200.             Height          =   255
  201.             Index           =   3
  202.             Left            =   120
  203.             TabIndex        =   22
  204.             Top             =   240
  205.             Width           =   1215
  206.          End
  207.       End
  208.       Begin SSCheck Check3D1 
  209.          Caption         =   "Flag Shadow"
  210.          Font3D          =   0  'None
  211.          Height          =   255
  212.          Index           =   0
  213.          Left            =   120
  214.          TabIndex        =   13
  215.          Top             =   240
  216.          Width           =   1455
  217.       End
  218.    End
  219.    Begin SSFrame Frame3D2 
  220.       Caption         =   "Angles"
  221.       Font3D          =   0  'None
  222.       ForeColor       =   &H00000000&
  223.       Height          =   2055
  224.       Left            =   6120
  225.       TabIndex        =   0
  226.       Top             =   120
  227.       Width           =   3255
  228.       Begin CommandButton StretchM 
  229.          Caption         =   "<<"
  230.          Height          =   255
  231.          Left            =   960
  232.          TabIndex        =   6
  233.          Top             =   1680
  234.          Width           =   495
  235.       End
  236.       Begin CommandButton StretchP 
  237.          Caption         =   ">>"
  238.          Height          =   255
  239.          Left            =   2400
  240.          TabIndex        =   5
  241.          Top             =   1680
  242.          Width           =   615
  243.       End
  244.       Begin HScrollBar HScrollX 
  245.          Height          =   255
  246.          LargeChange     =   16
  247.          Left            =   960
  248.          Max             =   360
  249.          TabIndex        =   4
  250.          Top             =   240
  251.          Width           =   2055
  252.       End
  253.       Begin HScrollBar HScrollY 
  254.          Height          =   255
  255.          LargeChange     =   16
  256.          Left            =   960
  257.          Max             =   360
  258.          TabIndex        =   3
  259.          Top             =   600
  260.          Width           =   2055
  261.       End
  262.       Begin HScrollBar HScrollZ 
  263.          Height          =   255
  264.          Left            =   960
  265.          Max             =   360
  266.          TabIndex        =   2
  267.          Top             =   960
  268.          Width           =   2055
  269.       End
  270.       Begin HScrollBar HScroll_Prof 
  271.          Height          =   255
  272.          Left            =   960
  273.          Max             =   200
  274.          Min             =   -200
  275.          TabIndex        =   1
  276.          Top             =   1320
  277.          Width           =   2055
  278.       End
  279.       Begin Label Label1 
  280.          BackStyle       =   0  'Transparent
  281.          Caption         =   "Stretch"
  282.          ForeColor       =   &H00FFFFFF&
  283.          Height          =   255
  284.          Index           =   4
  285.          Left            =   1560
  286.          TabIndex        =   11
  287.          Top             =   1680
  288.          Width           =   735
  289.       End
  290.       Begin Label Label1 
  291.          BackStyle       =   0  'Transparent
  292.          Caption         =   "Prof:"
  293.          ForeColor       =   &H00FFFFFF&
  294.          Height          =   255
  295.          Index           =   3
  296.          Left            =   120
  297.          TabIndex        =   10
  298.          Top             =   1320
  299.          Width           =   735
  300.       End
  301.       Begin Label Label1 
  302.          BackStyle       =   0  'Transparent
  303.          Caption         =   "AngleZ:"
  304.          ForeColor       =   &H00FFFFFF&
  305.          Height          =   255
  306.          Index           =   2
  307.          Left            =   120
  308.          TabIndex        =   9
  309.          Top             =   960
  310.          Width           =   735
  311.       End
  312.       Begin Label Label1 
  313.          BackStyle       =   0  'Transparent
  314.          Caption         =   "AngleY:"
  315.          ForeColor       =   &H00FFFFFF&
  316.          Height          =   255
  317.          Index           =   1
  318.          Left            =   120
  319.          TabIndex        =   8
  320.          Top             =   600
  321.          Width           =   735
  322.       End
  323.       Begin Label Label1 
  324.          BackStyle       =   0  'Transparent
  325.          Caption         =   "AngleX:"
  326.          ForeColor       =   &H00FFFFFF&
  327.          Height          =   255
  328.          Index           =   0
  329.          Left            =   120
  330.          TabIndex        =   7
  331.          Top             =   240
  332.          Width           =   735
  333.       End
  334.    End
  335.    Begin Timer Timer1 
  336.       Left            =   6480
  337.       Top             =   3480
  338.    End
  339.    Begin CommonDialog Dialogue 
  340.       Left            =   6960
  341.       Top             =   3480
  342.    End
  343.    Begin Label Label3 
  344.       BackStyle       =   0  'Transparent
  345.       Caption         =   "Backg Col:"
  346.       Height          =   255
  347.       Left            =   6120
  348.       TabIndex        =   31
  349.       Top             =   3360
  350.       Width           =   1095
  351.    End
  352.    Begin Label Label2 
  353.       BackStyle       =   0  'Transparent
  354.       Caption         =   "Here you can play with some of the attributes of objects. Change the object by loading a new one . Read the doc to see all  the possibilities"
  355.       Height          =   495
  356.       Left            =   240
  357.       TabIndex        =   24
  358.       Top             =   4920
  359.       Width           =   7335
  360.    End
  361. Option Explicit
  362. Dim MyObj As Long
  363. Dim MyView As Long
  364. Dim ax As Integer
  365. Dim ay As Integer
  366. Dim az As Integer
  367. Dim az2 As Integer
  368. Dim factor As Pt_3d_Float
  369. Dim startx
  370. Dim starty
  371. Dim Flg_Redraw
  372. Dim pos3d As pt_3D
  373. Dim numcolbackg
  374. Sub Browse_Click ()
  375.     attrlab.MousePointer = 11
  376.     FormBrowse.Show 1
  377.     If FormBrowse.FileName.Caption <> "" Then
  378.         Call LoadObj(ObjDir$ + "\" + CStr(FormBrowse.FileName.Caption))
  379.     End If
  380.     Unload FormBrowse
  381.     attrlab.MousePointer = 0
  382. End Sub
  383. Sub Check3D1_Click (Index As Integer, Value As Integer)
  384.     Dim Tag As Integer
  385.     Dim newval As Integer
  386.     Dim Flag As Integer
  387.     If Value = -1 Then
  388.         newval = 1
  389.         Flag = True
  390.     Else
  391.         newval = 0
  392.         Flag = False
  393.     End If
  394.     Select Case Index
  395.         Case 0:
  396.             Tag = K_ID_FLG_SHADOW
  397.         Case 1:
  398.             Tag = K_ID_FLG_ORIENTED
  399.         Case 2:
  400.             Tag = K_ID_FLG_OUTLINE
  401.         Case 3:
  402.             Tag = K_ID_FLG_WIRE
  403.             Check3D1(0).Enabled = Not Flag
  404.             Check3D1(1).Enabled = Not Flag
  405.             Check3D1(2).Enabled = Not Flag
  406.         Case 4:
  407.             Tag = K_ID_FLG_BOX
  408.             Check3D1(0).Enabled = Not Flag
  409.             Check3D1(1).Enabled = Not Flag
  410.             Check3D1(2).Enabled = Not Flag
  411.             Check3D1(3).Enabled = Not Flag
  412.     End Select
  413.     Call Objet3D_Set(MyObj, Tag, CLng(newval))
  414.     Call Redraw
  415. End Sub
  416. Sub Cmd_Attr_Click (Index As Integer)
  417.     Dim attrib
  418.     attrib = K_TYPE_FACE_NORMAL
  419.     Select Case Index
  420.         ' Normal
  421.         Case 0
  422.             attrib = K_TYPE_FACE_NORMAL
  423.         Case 1
  424.             attrib = K_TYPE_FACE_SHADED
  425.         Case 2
  426.             attrib = K_TYPE_FACE_GOURAUD
  427.     End Select
  428.     Call Objet3D_SetAllFaces(MyObj, attrib)
  429.     Call Redraw
  430. End Sub
  431. Sub CmdCol_Click (Index As Integer)
  432.     Select Case Index
  433.         Case 0:
  434.             numcolbackg = numcolbackg + 1
  435.         Case 1:
  436.             numcolbackg = numcolbackg - 1
  437.     End Select
  438.     Call View3D_Set(MyView, K_Id_BACKGROUND, numcolbackg)
  439.     Redraw
  440. End Sub
  441. Sub CmdDebug_Click ()
  442.     Imadialogue.Action = 1
  443.     View3D_Att.BackName = CStr(Imadialogue.Filename)
  444. End Sub
  445. Sub CmdMvt_Click ()
  446.     Load FormMvt
  447. End Sub
  448. Sub CmdOk_Click ()
  449.     Unload Me
  450. End Sub
  451. Sub CombTypeBackg_Click ()
  452.     View3D_Att.BackStyle = CombTypeBackg.ListIndex
  453. End Sub
  454. Sub Form_Load ()
  455.     factor.x = 1
  456.     factor.y = 1
  457.     factor.z = 1
  458.     MyObj = View3D_Att.IdObj
  459.     MyView = View3D_Att.IdView
  460.     View3D_Att.ObjName = ObjDir$ + "\dirigable.m3d"
  461.     ax = 0
  462.     ay = 0
  463.     az = 0
  464.     az2 = 0
  465.     numcolbackg = 0
  466.     Flg_Redraw = 1
  467.     Imadialogue.InitDir = ObjDir$
  468.     Imadialogue.Filter = "GIF files (*.gif)|*.gif"
  469.     Imadialogue.Filename = "*.gif"
  470.     dialogue.InitDir = ObjDir$
  471.     dialogue.Filter = "Object3D (*.m3d)|*.m3d|Dxf(*.dxf) |*.dxf|ASCI from 3DS(*.asc)|*.asc|Painter 3D (*.d)|*.d"
  472.     dialogue.Filename = "*.m3d"
  473.     CombTypeBackg.Clear
  474.     CombTypeBackg.AddItem "None"
  475.     CombTypeBackg.AddItem "Centered"
  476.     CombTypeBackg.AddItem "Tiled"
  477.     CombTypeBackg.AddItem "Stretched"
  478.     CombTypeBackg.ListIndex = 0
  479.     Show
  480. End Sub
  481. Sub HScroll_Prof_Change ()
  482.     Call Redraw
  483. End Sub
  484. Sub HScroll_Prof_Scroll ()
  485. Call Redraw
  486. End Sub
  487. Sub hscroll2change ()
  488.     pos3d.x = hscrollx.Value
  489.     pos3d.y = 0
  490.     pos3d.z = hscrollz.Value
  491. '    Call View3D_AffAll(MyView)
  492. '    Call View3D_Switch(MyView, PictureLab.hDC)
  493. End Sub
  494. Sub HScroll2X_Change ()
  495.     Call hscroll2change
  496. End Sub
  497. Sub HScroll2X_Scroll ()
  498.     Call hscroll2change
  499. End Sub
  500. Sub HScroll2Z_Change ()
  501.     Call hscroll2change
  502. End Sub
  503. Sub HScroll2Z_Scroll ()
  504.     Call hscroll2change
  505. End Sub
  506. Sub HScrollX_Change ()
  507.     Call Redraw
  508. End Sub
  509. Sub HScrollX_Scroll ()
  510.     Call Redraw
  511. End Sub
  512. Sub HScrollY_Change ()
  513.     Call Redraw
  514. End Sub
  515. Sub HScrollY_Scroll ()
  516.     Call Redraw
  517. End Sub
  518. Sub HScrollZ_Change ()
  519.     Call Redraw
  520. End Sub
  521. Sub HScrollZ_Scroll ()
  522.     Call Redraw
  523. End Sub
  524. Sub Load_Click ()
  525.     dialogue.Action = 1
  526.     Call LoadObj(CStr(dialogue.Filename))
  527. End Sub
  528. Sub LoadObj (In_Name As String)
  529.     attrlab.MousePointer = 11
  530.     View3D_Att.ObjName = In_Name
  531.     Call Redraw
  532.     attrlab.MousePointer = 0
  533. End Sub
  534. Sub Redraw ()
  535. If Flg_Redraw Then
  536.     ax = hscrollx.Value
  537.     ay = hscrolly.Value
  538.     az = hscrollz.Value
  539.     pos3d.x = 0
  540.     pos3d.y = 0
  541.     pos3d.z = hscroll_prof.Value
  542.   '  PictureLab.Cls
  543.     Call Objet3D_Set_Pos(MyObj, pos3d)
  544.   '  PictureLab.Cls
  545.     View3D_Att.AutoRedraw = 0
  546.     View3D_Att.AngleX = ax
  547.     View3D_Att.AngleY = ay
  548.     View3D_Att.AngleZ = az
  549.     View3D_Att.Redraw = 1
  550. End If
  551. End Sub
  552. Sub StretchM_Click ()
  553.     factor.x = 2
  554.     factor.y = 2
  555.     factor.z = 2
  556.     Call Objet3D_Stretch(MyObj, factor)
  557.     Call Redraw
  558. End Sub
  559. Sub StretchP_Click ()
  560.     factor.x = .5
  561.     factor.y = .5
  562.     factor.z = .5
  563.     Call Objet3D_Stretch(MyObj, factor)
  564.     Call Redraw
  565. End Sub
  566. Sub Timer1_Timer ()
  567.     hscrolly.Value = hscrolly.Value + 10
  568.     Call Redraw
  569. End Sub
  570.